"""
进程实现多任务分为三步
1 导入包 multiprocessing
2 创建进程对象
    Process(group=None, target=None, name=None, args=(), kwargs={},*, daemon=None):
    group=None 指定进程组，一般为null
    target： 执行的目标任务名
    name :进程的名字
    args：通过元组的方式给要执行的任务传递参数
    kwargs：通过 字典方式，给要执行的任务传递参数
3 给进程对象分配任务
4 开始任务

进程信息相关的方法:
    得到当前进行 对象 multiprocessing.current_process
    得到当前进程的进程号 process.pid 或者使用os模块的 os.getpid()
    得到当前进程的父进程（当前进程的创造者的进程号） os.getppid()
    强制杀死进程 os.kill(进程号， 9)   9指的就是kill -9

通过os模块的
"""
import multiprocessing
from multiprocessing import Process
import os
import time

def sayNum():
    print(f"Process1进程号是【{os.getpid()}】,process1的父进程编号是【{os.getppid()}】")
    print('当前进程信息：',multiprocessing.current_process)
    for i in range(10):
        print(f"当前值:【{i}】")
        if i==5:
            # 如果循环到i=5强制杀死当前进程
            os.kill(os.getpid(),9)
        time.sleep(1)

def point():
    print(f"Process2进程号是【{os.getpid()}】,process2的父进程编号是【{os.getppid()}】")
    print('当前进程信息：', multiprocessing.current_process)
    for i in range(10):
        print('*'*i)
        time.sleep(1)

# 确保多线程的代码都在 __name__ = '__main__' 这个代码块中运行
if __name__== '__main__' :
    print("主进程开始.... ")
    print('主进程信息：', multiprocessing.current_process)
    print(f"主进程进程号是【{os.getpid()}】,主进程的父进程编号是【{os.getppid()}】")
    process1 = Process(target=sayNum)
    process1.start()

    process2 = Process(target=point)
    process2.start()





